package cn.iocoder.yudao.adminserver.modules.fi.controller.statistics.vo;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("统计信息分页vo")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StatisticsPageReqVO<StatisticsDO> extends PageParam {

    @ApiModelProperty(value = "养护护类型")
    private Integer maintainId;

    @ApiModelProperty(value = "项目id")
    private List<Long> projectId;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始创建时间")
    private Date beginCreateTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束创建时间")
    private Date endCreateTime;

    @ApiModelProperty(value = "开始完成时间")
    private String beginFinishDate;

    @ApiModelProperty(value = "结束完成时间")
    private String endFinishDate;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始结束时间")
    private Date beginEndTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束结束时间")
    private Date endEndTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始执行时间")
    private Date beginDoTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束执行时间")
    private Date endDoTime;

    @ApiModelProperty(value = "项目经理")
    private List<Long> projectLeaderUid;

    @ApiModelProperty(value = "项目主管")
    private List<Long> directorUid;

    @ApiModelProperty(value = "区域经理")
    private List<Long> areaManagerUid;

}
